package com.cy.pj.goods.dao;

import com.cy.pj.goods.pojo.Goods;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 *  商品持久层对象 负责商品模块数据的访问
**/
@Mapper
public interface GoodsDao {
    /**
     * 查询所有商品信息
     * @return 所有的商品
     * mybatis框架中定义sql映射有两种方式：
     * 1)注解方式(实现简单sql映射)
     * 2)xml方式(复杂sql映射，尤其是sql中包含动态sql时)
     */
    @Select("select id,name,remark,createdTime from tb_goods")
    List<Goods> findGoods();


    /**
     *
     * 基于id删除商品信息
     * @return id

     */


   @Delete("delete from tb_goods where id=#{id}")
   int deleteById(Integer id);


   @Insert("insert into tb_goods(name,remark,createdTime) " +
           "values (#{name},#{remark},now())")
  //说明：当SQL语句比较复杂时，也可以将SQL定义到映射文件（xml文件）中。
  int insertGoods(Goods entity);

    @Select("select * from tb_goods where id=#{id}")
   Goods findById(Integer id);
  @Update("update tb_goods set name=#{name},remark=#{remark} where id=#{id}")
  int updateGoods(Goods goods);
}
